[libcxx] Add support for building and testing with an ABI library not along linker paths Summary: This patch adds support for building/testing libc++ with an ABI library that the linker would not normally find. - `CMAKE_LIBRARY_PATH` is used to specify the list of search directories. - The ABI library is now found using `find_library` instead of assuming its along the linker's search path. - `CMAKE_LIBRARY_PATH` is passed to our LIT config as `library_paths`. - For each path in `library_paths` the following flags are added `-L<path> -Wl,-rpath -Wl,<path>` Some changes in existing behavior were also added: - `target_link_libraries` is now passed the ABI library file instead of the library name. Ex `target_link_libraries(cxx "/usr/lib/libc++abi.so")` vs `target_link_libraries(cxx "c++abi")`. - `-Wl,-rpath -Wl,<path>` is now used on OSX to link to libc++ instead of env['DYLD_LIBRARY_PATH'] if `use_system_lib=False`. Reviewers: mclow.lists, danalbert, EricWF Reviewed By: EricWF Subscribers: emaste, cfe-commits Differential Revision: http://reviews.llvm.org/D5038 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@220118 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/www/index.html b/www/index.html index a1a5f1b..b9bb1f8 100644 --- a/www/index.html +++ b/www/index.html 
@@ -437,6 +437,36 @@  </p>    <!--=====================================================================--> + <h2 id="local-abi">Using a local ABI library</h2> + <!--=====================================================================--> + <p> + <strong>Note: This is not recommended in almost all cases.</strong><br> + Generally these instructions should only be used when you can't install + your ABI library. + </p> + <p> + Normally you must link libc++ against a ABI shared library that the + linker can find. If you want to build and test libc++ against an ABI + library not in the linker's path you need to set + <code>-DCMAKE_LIBRARY_PATH=/path/to/abi/lib</code> when configuring CMake. + </p> + <p> + An example build using libc++abi would look like: + <ul> + <li><code>CC=clang CXX=clang++ cmake + -DLIBCXX_CXX_ABI=libc++abi + -DLIBCXX_LIBCXXABI_INCLUDE_PATHS="/path/to/libcxxabi/include" + -DCMAKE_LIBRARY_PATH="/path/to/libcxxabi-build/lib" + path/to/libcxx</code></li> + <li><code>make</code></li> + </ul> + </p> + <p> + When testing libc++ LIT will automatically link against the proper ABI + library. + </p> + + <!--=====================================================================-->  <h2>Design Documents</h2>  <!--=====================================================================-->